entry: Shorten finalize implementation
authorTimm Bäder <mail@baedert.org>
Mon, 19 Nov 2018 17:12:27 +0000 (18:12 +0100)
committerTimm Bäder <mail@baedert.org>
Tue, 20 Nov 2018 11:45:18 +0000 (12:45 +0100)
By using g_clear_pointer and g_clear_object where appropriate.

gtk/gtkentry.c

index 682cce629c2e1e238548a727c621dcfe2b7337be..f1e46116eadc095dd1f71ad3c272dc15f6947e63 100644 (file)
@@ -2763,32 +2763,24 @@ gtk_entry_finalize (GObject *object)
       g_slice_free (EntryIconInfo, icon_info);
     }
 
-  if (priv->cached_layout)
-    g_object_unref (priv->cached_layout);
-
-  g_object_unref (priv->im_context);
+  g_clear_object (&priv->cached_layout);
+  g_clear_object (&priv->im_context);
+  g_clear_pointer (&priv->selection_bubble, gtk_widget_destroy);
+  g_clear_pointer (&priv->magnifier_popover, gtk_widget_destroy);
+  g_clear_pointer (&priv->progress_widget, gtk_widget_unparent);
+  g_clear_object (&priv->text_handle);
+  g_free (priv->placeholder_text);
+  g_free (priv->im_module);
 
   if (priv->blink_timeout)
     g_source_remove (priv->blink_timeout);
 
-  if (priv->selection_bubble)
-    gtk_widget_destroy (priv->selection_bubble);
-
-  if (priv->magnifier_popover)
-    gtk_widget_destroy (priv->magnifier_popover);
-
-  if (priv->text_handle)
-    g_object_unref (priv->text_handle);
-  g_free (priv->placeholder_text);
-  g_free (priv->im_module);
-
   if (priv->tabs)
     pango_tab_array_free (priv->tabs);
 
   if (priv->attrs)
     pango_attr_list_unref (priv->attrs);
 
-  g_clear_pointer (&priv->progress_widget, gtk_widget_unparent);
 
   G_OBJECT_CLASS (gtk_entry_parent_class)->finalize (object);
 }